package 设计模式.结构模式._7装饰模式;

/**
 * 装饰模式就是给一个对象增加一些新的功能，而且是动态的，要求装饰对象和被装饰对象实现同一个接口，装饰对象持有被装饰对象的实例
 */
public class Test {

	public static void main(String[] args) {
		//创建女人对象
		Woman woman = new Woman();
		//创建装饰者对象
		DecoratorA decoratorA = new DecoratorA();
		
		decoratorA.setPerson(woman);
		//对woman方法进行了增强
		//decoratorA.eat();
		
		DecoratorB decoratorB = new DecoratorB();
		//对decoratorA的方法进行再增强
		decoratorB.setPerson(decoratorA);
		decoratorB.eat();
	}
	
}
